package bindEvent;

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;	// 导入包含ActionListener事件的java.awt.event包

public class BindEvent extends JFrame{
	public BindEvent() {
		buttonEvent();
		windowAttribute();
	}
	
	// 定义组件并绑定事件
	void buttonEvent() {
		//定义并添加组件
		JButton button;	
		button = new JButton("按钮组件");
		add(button);
		
		// 绑定事件到按钮
		ActionListener listener;				// 定义事件监视器
		listener = new ButtonListen();			// 实例化ButtonListen类创建监视器，处理事件
		button.addActionListener(listener);		// 将listener注册（添加）为button组件的监视器
	}
	
	// 定义窗口属性
	void windowAttribute() {
		setTitle("绑定按钮事件");	
		setBounds(500,500,600,400);	
		setLayout(new FlowLayout());
		setVisible(true);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);	
	}
	
	// 定义ButtonListen类来处理事件
	public class ButtonListen implements ActionListener{	// 定义监视器类，需实现相应监视器的接口
		public void actionPerformed(ActionEvent e) {		// 需重写的接口方法，实现事件处理
			System.out.println("点击了一下按钮");				// 当点击一下按钮，触发ActionListener事件时，打印指定字符串到控制台
		}
	}
	
	public static void main(String args[]) {
		new BindEvent();
	}
}
